package model

import (
	"fmt"
	"ginblog/utils"
    _ "github.com/go-sql-driver/mysql"
	"github.com/jinzhu/gorm"
	"time"
)

var db *gorm.DB
var err error

func InitDb() {
	db,err = gorm.Open(utils.Db,fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local",
		utils.DbUser,
		utils.DbPassWord,
		utils.DbHost,
		utils.DbPost,
		utils.DbName,
		))
	if err != nil{
		fmt.Printf("连接数据库失败，请检查参数", err)
	}

	// 禁用附属形式
	db.SingularTable(true)
	//db.AutoMigrate(&User{},&Article{},&Category{},&Praise{})

	// SetMaxIdleCons 设置连接池中最大闲置连接数
	db.DB().SetMaxIdleConns(10)

	// setmaxopencons 设置数据库的最大连接数量
	db.DB().SetMaxOpenConns(100)

	// setconnmaxlifttiment 设置连接的最大可复用时间
	db.DB().SetConnMaxLifetime(10 * time.Second)

	//db.Close()
}